import multiprocessing, time


def process_task():  # 进程业务处理
	# 创建守护进程, 守护进程由当前的子进程创建,子进程结束后,守护进程消失
	deamon_process = multiprocessing.Process(
		target=process_check, name="handuoduo Deamon Process", daemon=True
	)
	deamon_process.start()  # 启动守护进程
	for item in range(5):  # 业务处理
		print(f"【{multiprocessing.current_process().name}】 正在进行业务处理...:{item + 1}/{5}")  # 获取子进程信息
		time.sleep(2)


def process_check():  # 进程业务处理
	print(f"启动守护进程:pid={multiprocessing.current_process().pid} name={multiprocessing.current_process().name}")
	count = 1  # 检查次数
	while True:  # 持续检查
		print(f"【{multiprocessing.current_process().name}】 第{count}次检查 业务处理状态")
		count = count + 1
		time.sleep(1)


def main():
	process = multiprocessing.Process(target=process_task, name=f"handuoduo Process")
	process.start()
	time.sleep(10)
	print(f"【{multiprocessing.current_process().name}】 业务处理完毕,应用退出...")


if __name__ == "__main__":
	main()
